/*
 * @Author: xuetao 3168581151@qq.com
 * @Date: 2025-02-20
 * @LastEditors: xuetao 3168581151@qq.com
 * @LastEditTime: 2025-02-26
 * @Description: 申请状态枚举
 */
enum ApplyStatus {
  pending(0, '待验证'),
  accepted(1, '已接受'),
  rejected(2, '已拒绝'),
  overdue(3, '已过期');

  const ApplyStatus(this.value, this.label);

  final int value; // 对应数据库/接口的整数值
  final String label; // 显示用文本
  // 静态转换方法
  static ApplyStatus fromInt(int value) =>
      values.firstWhere((e) => e.value == value,
          orElse: () => throw ArgumentError('Invalid value'));
}

// 直接访问枚举实例的 value 属性
// print(ApplyStatus.pending.value); // 输出: 0
// print(ApplyStatus.accepted.value); // 输出: 1

// 根据数字获取文本
// final status = ApplyStatus.fromInt(1);
// print(status.label); // 输出：已接受
